package me.zhengjie.modules.account.factory.service;

import me.zhengjie.modules.account.factory.entity.BasePersonAccount;
import me.zhengjie.modules.account.factory.entity.InterestRate;
import me.zhengjie.modules.account.factory.vo.AnnualConversionTransverse;
import me.zhengjie.tool.MyMap;

import java.util.List;
import java.util.Map;

/**
 * 正常账户和改革期试点账户计息
 *
 */
public interface AccountComputer {


    Map computerAccount(MyMap map);

    Map computerAccountNotSave(MyMap map);


    /**
     * 获取业务年度对应的信息
     * @param aaz159
     * @param aac001
     * @param beginYear
     * @return
     */
    Map<Integer, List<AnnualConversionTransverse>> produceAnnualBusinessControls(String aaz159, String aac001, Integer beginYear);

    /**
     * 获取退休情况
     * @param aae140
     * @param aac001
     * @return
     */
    String produceAnnualInterestRetire(String aae140, String aac001);

    /**
     * 将年转换成利率
     * @param aae140
     * @param beginYear
     * @return
     */
    Map<String, Map<Integer, List<InterestRate>>> produceAnnualInterestRate(String aae140, Integer beginYear);

    /**
     *获取业务年度对应的信息(根据传入的Ac50a5的列表信息处理)
     * @param aaz159
     * @param aac001
     * @param beginYear
     * @param buinessYears
     * @return
     */
    Map<Integer, List<AnnualConversionTransverse>> produceAnnualBusinessControls(String aaz159, String aac001, Integer beginYear, List<Map> buinessYears);




}
